900 |
How can I prevent a link to end to a specified bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:AllowLinkBars := .T. oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,160) oChart:FirstVisibleDate := "06/20/2005" oItems := oG2antt:Items() h := oItems:AddItem("Not-End-Linkable") oItems:AddBar(h,"Unknown","06/21/2005","06/28/2005") oItems:SetProperty("ItemBar",h,"",31/*exBarCanEndLink*/,.F.) oItems:AddBar(oItems:AddItem("Task 1"),"Task","06/23/2005","06/27/2005","") oItems:AddBar(oItems:AddItem("Task 2"),"Task","06/23/2005","06/27/2005","") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
899 |
How can I prevent a link to start from a specified bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:AllowLinkBars := .T. oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,160) oChart:FirstVisibleDate := "06/20/2005" oItems := oG2antt:Items() h := oItems:AddItem("Not-Start-Linkable") oItems:AddBar(h,"Unknown","06/21/2005","06/28/2005") oItems:SetProperty("ItemBar",h,"",30/*exBarCanStartLink*/,.F.) oItems:AddBar(oItems:AddItem("Task 1"),"Task","06/23/2005","06/27/2005","") oItems:AddBar(oItems:AddItem("Task 2"),"Task","06/23/2005","06/27/2005","") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
898 |
How can I prevent a specified bar to be linked
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:AllowLinkBars := .T. oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,160) oChart:FirstVisibleDate := "06/20/2005" oItems := oG2antt:Items() h := oItems:AddItem("Not-Linkable") oItems:AddBar(h,"Unknown","06/21/2005","06/28/2005") oItems:SetProperty("ItemBar",h,"",32/*exBarCanBeLinked*/,.F.) oItems:AddBar(oItems:AddItem("Task 1"),"Task","06/23/2005","06/27/2005","") oItems:AddBar(oItems:AddItem("Task 2"),"Task","06/23/2005","06/27/2005","") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
897 |
How can I display in the chart's header only days where the week starts
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel,oLevel1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:FirstVisibleDate := "01/31/2009" oChart:LevelCount := 2 oChart:FirstWeekDay := 1/*exMonday*/ oLevel := oChart:Level(0) oLevel:Label := "<%mmmm%> <%yyyy%>" oLevel:Alignment := 1/*CenterAlignment*/ oLevel:Unit := 16/*exMonth*/ oLevel1 := oChart:Level(1) oLevel1:Unit := 4096/*exDay*/ oLevel1:FormatLabel := " (0:=weekday(dvalue)) = 1 ? '<b>' +value : '' " oChart:UnitWidth := 23 oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
896 |
Is there any automatically way to display and change the bar's duration in the columns section
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oColumns LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumn := oColumns:Add("Duration") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,513) oColumn:Editor():EditType := 4/*SpinType*/ oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2009" oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2009","01/07/2009") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/04/2009","01/09/2009") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
895 |
How can I programatically move or resize a bar using spin or slider controls in the columns
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oColumns LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumn := oColumns:Add("Start") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumn:Editor():EditType := 4/*SpinType*/ oColumn1 := oColumns:Add("End") oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oColumn1:Editor():EditType := 4/*SpinType*/ oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:ShowEmptyBars := 1 oChart:FirstVisibleDate := "01/01/2009" oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2009","01/07/2009") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/04/2009","01/09/2009") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
894 |
I am trying to call the ItemBar(exBarStart) after curent ending point, and the bar is not updated. What I am doing wrong
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,64) oChart:FirstVisibleDate := "06/21/2005" oChart:ShowEmptyBars := 1 oItems := oG2antt:Items() h := oItems:AddItem("Test") oItems:AddBar(h,"Task","06/22/2005","06/26/2005","") oItems:AddBar(h,"Task","06/27/2005",oItems:ItemBar(h,"",2/*exBarEnd*/)) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
893 |
How can change in the same time the starting and ending points of the bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems,oItems1 LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,64) oChart:FirstVisibleDate := "06/21/2005" oChart:ShowEmptyBars := 1 oItems := oG2antt:Items() h := oItems:AddItem("Test") oItems:AddBar(h,"Task","06/22/2005","06/26/2005") oItems1 := oG2antt:Items() h := oItems1:FirstVisibleItem() oItems1:AddBar(h,"Task","06/27/2005","06/29/2005") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
892 |
How can I control the exBarEffort property of the bar using slider controls
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oEditor LOCAL oItems LOCAL h,h1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oG2antt:ShowFocusRect := .F. oG2antt:OnResizeControl := 1/*exResizeChart*/ oG2antt:Columns():Add("Tasks"):AllowDragging := .F. oColumn := oG2antt:Columns():Add("Histogram") oColumn:AllowDragging := .F. oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn:PartialCheck := .T. oColumn:AllowSizing := .F. oColumn:Width := 18 oColumn:LevelKey := 1 oG2antt:Items():AllowCellValueToItemBar := .T. oColumn1 := oG2antt:Columns():Add("Effort") oColumn1:LevelKey := 1 oColumn1:AllowDragging := .F. oColumn1:AllowSizing := .F. oColumn1:Width := 64 oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,21) oEditor := oColumn1:Editor() oEditor:EditType := 20/*SliderType*/ oEditor:SetProperty("Option",41/*exSliderWidth*/,-100) oEditor:SetProperty("Option",44/*exSliderMax*/,9) oEditor:SetProperty("Option",43/*exSliderMin*/,1) oChart := oG2antt:Chart() oChart:LevelCount := 3 oChart:NonworkingDays := 0 oChart:SetProperty("PaneWidth",.F.,160) oChart:FirstVisibleDate := "06/20/2005" oChart:HistogramVisible := .T. oChart:HistogramView := 67348/*0x10000+exHistogramNoGrouping+exHistogramRecLeafItems+exHistogramLeafItems+exHistogramUnlockedItems+exHistogramCheckedItems*/ oChart:HistogramHeight := 64 oBar := oChart:Bars:Item("Task") oBar:SetProperty("HistogramCriticalColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oBar:HistogramPattern := 512/*exBezierCurve*/ oBar:HistogramType := 1/*exHistOverAllocation*/ oItems := oG2antt:Items() h := oItems:AddItem("Project 1") oItems:AddBar(h,"Summary","06/21/2005","07/01/2005") oItems:SetProperty("CellEditorVisible",h,2,0/*exEditorHidden*/) oItems:SetProperty("CellValue",h,2,"") h1 := oItems:InsertItem(h,,"Task 1") oItems:AddBar(h1,"Task","06/21/2005","06/28/2005") oItems:SetProperty("CellMerge",h1,0,1) oItems:DefineSummaryBars(h,"",h1,"") h1 := oItems:InsertItem(h,,"Task 2") oItems:AddBar(h1,"Task","06/23/2005","07/01/2005","") oItems:SetProperty("CellMerge",h1,0,1) oItems:DefineSummaryBars(h,"",h1,"") oItems:SetProperty("ItemBar",h1,"",21/*exBarEffort*/,5) h1 := oItems:InsertItem(h,,"Task 3") oItems:AddBar(h1,"Task","06/25/2005","06/27/2005","") oItems:SetProperty("CellMerge",h1,0,1) oItems:DefineSummaryBars(h,"",h1,"") oItems:SetProperty("ExpandItem",h,.T.) oItems:SetProperty("CellState",h,1,1) h := oItems:AddItem("Project 2") oItems:AddBar(h,"Summary","03/07/2005","07/12/2005") oItems:SetProperty("CellEditorVisible",h,2,0/*exEditorHidden*/) oItems:SetProperty("CellValue",h,2,"") h1 := oItems:InsertItem(h,,"Task 1") oItems:AddBar(h1,"Task","07/03/2005","07/08/2005") oItems:SetProperty("CellMerge",h1,0,1) oItems:DefineSummaryBars(h,"",h1,"") h1 := oItems:InsertItem(h,,"Task 2") oItems:AddBar(h1,"Task","07/05/2005","07/12/2005","") oItems:SetProperty("CellMerge",h1,0,1) oItems:DefineSummaryBars(h,"",h1,"") oItems:SetProperty("ItemBar",h1,"",21/*exBarEffort*/,5) h1 := oItems:InsertItem(h,,"Task 3") oItems:AddBar(h1,"Task","07/07/2005","07/08/2005","") oItems:SetProperty("CellMerge",h1,0,1) oItems:DefineSummaryBars(h,"",h1,"") oItems:SetProperty("ExpandItem",h,.T.) oItems:SetProperty("CellState",h,1,1) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
891 |
How can I determine if there is any Redo operation
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL var_CanRedo oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oChart := oG2antt:Chart() oChart:AllowUndoRedo := .T. oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2001" oG2antt:Columns():Add("Column") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Item 1"),"Task","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Item 2"),"Task","01/03/2001","01/07/2001") var_CanRedo := oG2antt:Chart:CanRedo() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
890 |
How can I determine if there is any Undo operation
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL var_CanUndo oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oChart := oG2antt:Chart() oChart:AllowUndoRedo := .T. oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2001" oG2antt:Columns():Add("Column") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Item 1"),"Task","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Item 2"),"Task","01/03/2001","01/07/2001") var_CanUndo := oG2antt:Chart:CanUndo() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
889 |
How can I turn on the Undo/Redo feature
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oChart := oG2antt:Chart() oChart:AllowUndoRedo := .T. oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2001" oG2antt:Columns():Add("Column") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Item 1"),"Task","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Item 2"),"Task","01/03/2001","01/07/2001") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
888 |
How can I disable resizing the histogram at runtime
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:OnResizeControl := 256/*exDisableHistogram*/ oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:HistogramVisible := .T. oChart:HistogramHeight := 32 oChart:Bars:Item("Task"):HistogramPattern := 6/*exPatternBDiagonal*/ oG2antt:Columns():Add("Column") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Item 1"),"Task","01/02/2001","01/04/2001") oItems:AddBar(oItems:AddItem("Item 2"),"Task","01/03/2001","01/07/2001") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
887 |
How can I display automatically the start and end dates of the bars in the columns section
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oColumns LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumn := oColumns:Add("Start") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumn:Editor():EditType := 7/*DateType*/ oColumn1 := oColumns:Add("End") oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oColumn1:Editor():EditType := 7/*DateType*/ oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:AllowLinkBars := .T. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,196) oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","09/21/2006","09/24/2006") oItems:AddBar(oItems:AddItem("Task 2"),"Task","09/22/2006","09/25/2006") oItems:AddBar(oItems:AddItem("Task 3"),"Task","09/23/2006","09/26/2006") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
886 |
How can I enable Undo/Redo support
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oColumns LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oG2antt:DrawGridLines := 1/*exHLines*/ oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumn := oColumns:Add("Start") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumn:Editor():EditType := 7/*DateType*/ oColumn:LevelKey := 1 oColumn1 := oColumns:Add("End") oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oColumn1:Editor():EditType := 7/*DateType*/ oColumn1:LevelKey := 1 oChart := oG2antt:Chart() oChart:DrawGridLines := 1/*exHLines*/ oChart:FirstVisibleDate := "09/20/2006" oChart:AllowLinkBars := .T. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,196) oChart:AllowUndoRedo := .T. oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","09/21/2006","09/24/2006") oItems:AddBar(oItems:AddItem("Task 2"),"Task","09/22/2006","09/25/2006") oItems:AddBar(oItems:AddItem("Task 3"),"Task","09/23/2006","09/26/2006") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
885 |
Is there any option to update the bar's properties once the cell's value is changed ( associate the cell with bar )
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumns LOCAL oEditor,oEditor1 LOCAL oItems LOCAL h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Debug := .T. oG2antt:MarkSearchColumn := .F. oG2antt:Items():AllowCellValueToItemBar := .T. oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumns:Add("Start"):Editor():EditType := 7/*DateType*/ oColumns:Add("End"):Editor():EditType := 7/*DateType*/ oColumns:Add("Info") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,224) oItems := oG2antt:Items() h1 := oItems:InsertItem(,,"Task 1") oItems:AddBar(h1,"Task","09/21/2006","09/23/2006","A","Caption") oItems:SetProperty("ItemBar",h1,"A",4/*exBarHAlignCaption*/,18) oItems:CellEditor(h1,3):EditType := 1/*EditType*/ oItems:CellValueToItemBar(h1,1,1/*exBarStart*/,"A") oItems:CellValueToItemBar(h1,2,2/*exBarEnd*/,"A") oItems:CellValueToItemBar(h1,3,3/*exBarCaption*/,"A") h2 := oItems:InsertItem(,,"Task 2") oItems:AddBar(h2,"Task","09/22/2006","09/24/2006","B") oEditor := oItems:CellEditor(h2,3) oEditor:EditType := 20/*SliderType*/ oEditor:SetProperty("Option",41/*exSliderWidth*/,-100) oItems:CellValueToItemBar(h2,1,1/*exBarStart*/,"B") oItems:CellValueToItemBar(h2,2,2/*exBarEnd*/,"B") oItems:CellValueToItemBar(h2,3,19/*exBarTransparent*/,"B") h3 := oItems:InsertItem(,,"Task 3") oItems:AddBar(h3,"Task","09/23/2006","09/25/2006","C") oEditor1 := oItems:CellEditor(h3,3) oEditor1:EditType := 2/*DropDownType*/ oEditor1:AddItem(0,"Task") oEditor1:AddItem(1,"Progress") oEditor1:AddItem(2,"Project Summary") oEditor1:AddItem(2,"Summary") oItems:CellValueToItemBar(h3,1,1/*exBarStart*/,"C") oItems:CellValueToItemBar(h3,2,2/*exBarEnd*/,"C") oItems:CellValueToItemBar(h3,3,0/*exBarName*/,"C") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
884 |
Is there any option to update the bar's properties once the cell's value is changed ( associate the column/cell with bars )
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1,oColumn2 LOCAL oColumns LOCAL oEditor LOCAL oItems LOCAL h,h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oG2antt:Indent := 11 oG2antt:HasLines := 1/*exSolidLine*/ oG2antt:Items():AllowCellValueToItemBar := .T. oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumn := oColumns:Add("Start") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumn:Editor():EditType := 7/*DateType*/ oColumn:LevelKey := 1 oColumn1 := oColumns:Add("End") oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oColumn1:Editor():EditType := 7/*DateType*/ oColumn1:LevelKey := 1 oColumn2 := oColumns:Add("Transparency") oColumn2:SetProperty("Def",18/*exCellValueToItemBarProperty*/,19) oEditor := oColumn2:Editor() oEditor:EditType := 20/*SliderType*/ oEditor:SetProperty("Option",41/*exSliderWidth*/,-100) oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:AllowLinkBars := .F. oChart:AllowCreateBar := 0/*exNoCreateBar*/ oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,224) oItems := oG2antt:Items() h := oItems:AddItem("Project") oItems:AddBar(h,"Summary","09/21/2006","10/03/2006") oItems:SetProperty("CellEditorVisible",h,1,0/*exEditorHidden*/) oItems:SetProperty("CellEditorVisible",h,2,0/*exEditorHidden*/) h1 := oItems:InsertItem(h,,"Task 1") oItems:AddBar(h1,"Task","09/21/2006","09/24/2006") h2 := oItems:InsertItem(h,,"Task 2") oItems:AddBar(h2,"Task","09/24/2006","09/28/2006") h3 := oItems:InsertItem(h,,"Task 3") oItems:AddBar(h3,"Task","09/28/2006","10/03/2006") oItems:DefineSummaryBars(h,"",h1,"") oItems:DefineSummaryBars(h,"",h2,"") oItems:DefineSummaryBars(h,"",h3,"") oItems:SetProperty("ExpandItem",h,.T.) oItems:SetProperty("ItemBold",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
883 |
How can I group two bars so I can specify the range or the limit of the interval between them
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h,h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oG2antt:OnResizeControl := 1/*exResizeChart*/ oG2antt:Columns():Add("Tasks") oG2antt:Columns():Add("Start"):Visible := .F. oG2antt:Columns():Add("End"):Visible := .F. oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:SetProperty("PaneWidth",.F.,64) oItems := oG2antt:Items() h := oItems:AddItem("Project") oItems:SetProperty("CellValue",h,1,"09/21/2006") oItems:SetProperty("CellValue",h,2,"10/03/2006") oItems:AddBar(h,"Summary",oItems:CellValue(h,1),oItems:CellValue(h,2),"sum") h1 := oItems:InsertItem(h,,"Task 1") oItems:SetProperty("CellValue",h1,1,oItems:CellValue(h,1)) oItems:SetProperty("CellValue",h1,2,"09/24/2006") oItems:AddBar(h1,"Task",oItems:CellValue(h1,1),oItems:CellValue(h1,2),"K1") h2 := oItems:InsertItem(h,,"Task 2") oItems:SetProperty("CellValue",h2,1,oItems:CellValue(h1,2)) oItems:SetProperty("CellValue",h2,2,"09/28/2006") oItems:AddBar(h2,"Unknown",oItems:CellValue(h2,1),oItems:CellValue(h2,2),"K2") oItems:AddLink("L1",h1,"K1",h2,"K2") h3 := oItems:InsertItem(h,,"Task 3") oItems:SetProperty("CellValue",h3,1,oItems:CellValue(h2,2)) oItems:SetProperty("CellValue",h3,2,oItems:CellValue(h,2)) oItems:AddBar(h3,"Task",oItems:CellValue(h3,1),oItems:CellValue(h3,2),"K3") oItems:AddLink("L2",h2,"K2",h3,"K3") oItems:GroupBars(h1,"K1",.F.,h2,"K2",.T.,31,"0;4") oItems:GroupBars(h2,"K2",.F.,h3,"K3",.T.,31,"0;2") oItems:DefineSummaryBars(h,"sum",h1,"K1") oItems:DefineSummaryBars(h,"sum",h2,"K2") oItems:DefineSummaryBars(h,"sum",h3,"K3") oItems:SetProperty("ExpandItem",h,.T.) oItems:SetProperty("ItemBold",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
882 |
How can I group my bars so I can resize the interval between them but still keep the lengths of them
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h,h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oG2antt:OnResizeControl := 1/*exResizeChart*/ oG2antt:Columns():Add("Tasks") oG2antt:Columns():Add("Start"):Visible := .F. oG2antt:Columns():Add("End"):Visible := .F. oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:SetProperty("PaneWidth",.F.,64) oItems := oG2antt:Items() h := oItems:AddItem("Project") oItems:SetProperty("CellValue",h,1,"09/21/2006") oItems:SetProperty("CellValue",h,2,"10/03/2006") oItems:AddBar(h,"Summary",oItems:CellValue(h,1),oItems:CellValue(h,2)) h1 := oItems:InsertItem(h,,"Task 1") oItems:SetProperty("CellValue",h1,1,oItems:CellValue(h,1)) oItems:SetProperty("CellValue",h1,2,"09/24/2006") oItems:AddBar(h1,"Task",oItems:CellValue(h1,1),oItems:CellValue(h1,2)) h2 := oItems:InsertItem(h,,"Task 2") oItems:SetProperty("CellValue",h2,1,oItems:CellValue(h1,2)) oItems:SetProperty("CellValue",h2,2,"09/28/2006") oItems:AddBar(h2,"Unknown",oItems:CellValue(h2,1),oItems:CellValue(h2,2)) oItems:AddLink("L1",h1,"",h2,"") h3 := oItems:InsertItem(h,,"Task 3") oItems:SetProperty("CellValue",h3,1,oItems:CellValue(h2,2)) oItems:SetProperty("CellValue",h3,2,oItems:CellValue(h,2)) oItems:AddBar(h3,"Task",oItems:CellValue(h3,1),oItems:CellValue(h3,2)) oItems:AddLink("L2",h2,"",h3,"") oItems:GroupBars(h1,"",.F.,h2,"",.T.,35) oItems:GroupBars(h2,"",.F.,h3,"",.T.,35) oItems:DefineSummaryBars(h,"",h1,"") oItems:DefineSummaryBars(h,"",h2,"") oItems:DefineSummaryBars(h,"",h3,"") oItems:SetProperty("ExpandItem",h,.T.) oItems:SetProperty("ItemBold",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
881 |
Can I group my bars so they move together when a bar inside changes, but still preserving the length of the bars
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h,h1,h2,h3 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oG2antt:OnResizeControl := 1/*exResizeChart*/ oG2antt:Columns():Add("Tasks") oG2antt:Columns():Add("Start"):Visible := .F. oG2antt:Columns():Add("End"):Visible := .F. oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:SetProperty("PaneWidth",.F.,64) oItems := oG2antt:Items() h := oItems:AddItem("Project") oItems:SetProperty("CellValue",h,1,"09/21/2006") oItems:SetProperty("CellValue",h,2,"10/03/2006") oItems:AddBar(h,"Summary",oItems:CellValue(h,1),oItems:CellValue(h,2)) h1 := oItems:InsertItem(h,,"Task 1") oItems:SetProperty("CellValue",h1,1,oItems:CellValue(h,1)) oItems:SetProperty("CellValue",h1,2,"09/24/2006") oItems:AddBar(h1,"Task",oItems:CellValue(h1,1),oItems:CellValue(h1,2)) h2 := oItems:InsertItem(h,,"Task 2") oItems:SetProperty("CellValue",h2,1,oItems:CellValue(h1,2)) oItems:SetProperty("CellValue",h2,2,"09/28/2006") oItems:AddBar(h2,"Unknown",oItems:CellValue(h2,1),oItems:CellValue(h2,2)) oItems:AddLink("L1",h1,"",h2,"") h3 := oItems:InsertItem(h,,"Task 3") oItems:SetProperty("CellValue",h3,1,oItems:CellValue(h2,2)) oItems:SetProperty("CellValue",h3,2,oItems:CellValue(h,2)) oItems:AddBar(h3,"Task",oItems:CellValue(h3,1),oItems:CellValue(h3,2)) oItems:AddLink("L2",h2,"",h3,"") oItems:GroupBars(h1,"",.F.,h2,"",.T.,3) oItems:GroupBars(h2,"",.F.,h3,"",.T.,3) oItems:DefineSummaryBars(h,"",h1,"") oItems:DefineSummaryBars(h,"",h2,"") oItems:DefineSummaryBars(h,"",h3,"") oItems:SetProperty("ExpandItem",h,.T.) oItems:SetProperty("ItemBold",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
880 |
How can I split the time scale, so a section displays days, while other displays weeks, and the other months
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oInsideZoom,oInsideZoom1 LOCAL oInsideZoomFormat,oInsideZoomFormat1,oInsideZoomFormat2 LOCAL oInsideZooms LOCAL oItems LOCAL oLevel,oLevel1,oLevel2 LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:HeaderHeight := 24 oG2antt:Columns():Add("Default") oChart := oG2antt:Chart() oChart:DrawDateTicker := .T. oChart:DrawGridLines := 2/*exVLines*/ oChart:NonworkingDays := 0 oChart:SetProperty("PaneWidth",.F.,0) oChart:FirstVisibleDate := "01/01/2007" oChart:LevelCount := 3 oLevel := oChart:Level(0) oLevel:Label := "<%yyyy%>" oLevel:Unit := 0/*exYear*/ oLevel1 := oChart:Level(1) oLevel1:Alignment := 1/*CenterAlignment*/ oLevel1:Label := "<%hy%>" oLevel1:Unit := 1/*exHalfYear*/ oLevel1:SetProperty("ReplaceLabel","1","<b>1/2</b>") oLevel1:SetProperty("ReplaceLabel","2","<b>2/2</b>") oLevel2 := oChart:Level(2) oLevel2:Label := "<%mmm%>" oLevel2:Unit := 16/*exMonth*/ oChart:UnitWidth := 28 oChart:AllowInsideZoom := .T. oInsideZoomFormat := oChart:DefaultInsideZoomFormat() oInsideZoomFormat:OwnerLabel := "<b><%mmmm%></b> (weeks) " oInsideZoomFormat:InsideLabel := "<font ;6>W: <b><%ww%></b>" oInsideZoomFormat:InsideUnit := 256/*exWeek*/ oInsideZooms := oChart:InsideZooms() oInsideZooms:SplitBaseLevel := .F. oInsideZoom := oInsideZooms:Add("01/01/2007") oInsideZoom:AllowCustomFormat := .T. oInsideZoomFormat1 := oInsideZoom:CustomFormat() oInsideZoomFormat1:OwnerLabel := "<b><%mmmm%></b> (weeks) " oInsideZoomFormat1:InsideLabel := "<font ;6>W: <b><%ww%></b>" oInsideZoomFormat1:InsideUnit := 256/*exWeek*/ oInsideZoomFormat1:SetProperty("BackColorChart",AutomationTranslateColor( GraMakeRGBColor ( { 187,231,240 } ) , .F. )) oInsideZoom1 := oInsideZooms:Add("03/01/2007") oInsideZoom1:AllowCustomFormat := .T. oInsideZoom1:Width := 356 oInsideZoomFormat2 := oInsideZoom1:CustomFormat() oInsideZoomFormat2:OwnerLabel := "<b><%mmmm%></b> (days) " oInsideZoomFormat2:InsideLabel := "<font ;5><%d%></font>" oInsideZoomFormat2:InsideUnit := 4096/*exDay*/ oInsideZoomFormat2:SetProperty("BackColorChart",AutomationTranslateColor( GraMakeRGBColor ( { 145,200,240 } ) , .F. )) oItems := oG2antt:Items() h := oItems:AddItem("Task 1 ") oItems:AddBar(h,"Task","01/12/2007","03/09/2007") h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","01/25/2007","03/12/2007") h := oItems:AddItem("Task 3") oItems:AddBar(h,"Task","02/01/2007","02/08/2007","B1") oItems:AddBar(h,"Task","02/08/2007","02/15/2007","B2") oItems:AddBar(h,"Task","02/15/2007","02/22/2007","B3") oItems:AddBar(h,"Task","02/22/2007","02/28/2007","B4") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
879 |
How can I define a bar that shows two colors, one up and one down, without using skin or EBN files
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar,oBar1 LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oBar := oG2antt:Chart():Bars():Add("A") oBar:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oBar:Shape := 2/*exShapeSolidUp*/ oBar:Pattern := 1/*exPatternSolid*/ oBar1 := oG2antt:Chart():Bars():Add("B") oBar1:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 128,0,0 } ) , .F. )) oBar1:Shape := 4/*exShapeSolidDown*/ oBar1:Pattern := 1/*exPatternSolid*/ oG2antt:Chart():Bars():Add("A%B"):Shortcut := "AB" oItems := oG2antt:Items() h := oItems:AddItem("Task 1") oItems:AddBar(h,"AB","01/02/2001","01/06/2001","K1") oItems:SetProperty("ItemBar",h,"K1",12/*exBarPercent*/,1) oItems:SetProperty("ItemBar",h,"K1",16/*exBarCanResizePercent*/,.F.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
878 |
Does your control support RightToLeft property for RTL languages or right to left
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ScrollBars := 15/*exDisableBoth*/ oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oColumn := oG2antt:Columns():Add("P1") oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn:PartialCheck := .T. oItems := oG2antt:Items() h := oItems:AddItem("Root") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:SetProperty("ExpandItem",h,.T.) oG2antt:RightToLeft := .T. oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
877 |
Is there any way to display the vertical scroll bar on the left side, as I want to align my data to the right
|
876 |
Can I display the cell's check box after the text
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oColumn := oG2antt:Columns():Add("Column") oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn:SetProperty("Def",34/*exCellDrawPartsOrder*/,"caption,check") oItems := oG2antt:Items() oItems:SetProperty("CellHasCheckBox",oItems:AddItem("Caption 1"),0,.T.) oItems:SetProperty("CellHasCheckBox",oItems:AddItem("Caption 2"),0,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
875 |
Can I change the order of the parts in the cell, as checkbox after the text, and so on
|
874 |
Can I have an image displayed after the text. Can I get that effect without using HTML content
|
873 |
My problem is that I want to mark the cells from every second item in the gant with a other backgroundcolor
|
872 |
Is there any option to print the columns section on each page
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oPrint LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Col 1") oG2antt:Columns():Add("Col 2") oG2antt:MarkSearchColumn := .F. oG2antt:Chart():FirstVisibleDate := "01/01/2001" oG2antt:Chart():LevelCount := 2 oItems := oG2antt:Items() h1 := oItems:AddItem("Col 1") oItems:SetProperty("CellValue",h1,1,"Col 2") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Col 1") oItems:SetProperty("CellValue",h2,1,"Col 2") oItems:AddBar(h2,"Task","02/05/2001","02/07/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",6/*exLinkStartPos*/,0) oG2antt:EndUpdate() oPrint := CreateObject("Exontrol.Print") oPrint:Options := "ColumnsOnEveryPage=-2" oPrint:PrintExt := oG2antt oPrint:Preview() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
871 |
How can I add a different non-working area for different items
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Non-Work") oChart := oG2antt:Chart() oChart:FirstWeekDay := 1/*exMonday*/ oChart:FirstVisibleDate := "01/24/2008" oChart:SetProperty("PaneWidth",.F.,52) oChart:LevelCount := 2 oItems := oG2antt:Items() h := oItems:AddItem("January") oItems:SetProperty("ItemNonworkingUnits",h,.F.,"month(value) = 1") h := oItems:AddItem("February, Saturday, Sunday") oItems:SetProperty("ItemNonworkingUnits",h,.F.,"month(value) = 2 or (weekday(value) = 0 or weekday(value) = 6)") h := oItems:AddItem("Sunday") oItems:SetProperty("ItemNonworkingUnits",h,.F.,"weekday(value) = 0") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
870 |
How can I define different non-working units for different items
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oInsideZoomFormat LOCAL oItems LOCAL h,h1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,78) oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oChart:FirstVisibleDate := "06/20/2005" oChart:DrawLevelSeparator := 0/*exLevelNoLine*/ oChart:LevelCount := 3 oChart:Level(1):DrawGridLines := .F. oChart:AllowInsideZoom := .T. oChart:DrawDateTicker := .T. oChart:DateTickerLabel := "<%mmm%> <%d%><br><b><%hh%>:<%nn%></b>" oChart:SetProperty("MarkSelectDateColor",0x7ffff8ee) oInsideZoomFormat := oChart:DefaultInsideZoomFormat() oInsideZoomFormat:OwnerLabel := "<%mmm%> <%d%>" oInsideZoomFormat:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 238,248,255 } ) , .F. )) oInsideZoomFormat:SetProperty("BackColorChart",oInsideZoomFormat:BackColor()) oInsideZoomFormat:InsideCount := 4 oInsideZoomFormat:InsideLabel := "<b><%hh%></b>" oChart:InsideZooms():Add("06/22/2005") oChart:DrawGridLines := 2/*exVLines*/ oChart:Bars:Item("Split"):SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oBar := oChart:Bars():Add("Task:Split") oBar:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oBar:Pattern := 6/*exPatternBDiagonal*/ oBar:Shortcut := "TaskS" oItems := oG2antt:Items() h := oItems:AddItem("Project 1") oItems:AddBar(h,"Summary","06/21/2005","07/01/2005") h1 := oItems:InsertItem(h,,"Task 1") oItems:AddBar(h1,"TaskS","06/21/2005","06/28/2005") oItems:SetProperty("ItemNonworkingUnits",h1,.F.,"weekday(value)=1 or weekday(value)=2") oItems:SetProperty("ItemNonworkingUnits",h1,.T.,"weekday(value)=1 or weekday(value)=2 or (hour(value)<8 or hour(value)>=16 )") oItems:DefineSummaryBars(h,"",h1,"") h1 := oItems:InsertItem(h,,"Task 2") oItems:AddBar(h1,"TaskS","06/22/2005 04:00:00","07/01/2005","E") oItems:SetProperty("ItemNonworkingUnits",h1,.F.,"weekday(value)=0") oItems:SetProperty("ItemNonworkingUnits",h1,.T.,"weekday(value)=0 or hour(value)<4 or hour(value)>19") oItems:DefineSummaryBars(h,"",h1,"E") oItems:SetProperty("ItemBar",h1,"E",21/*exBarEffort*/,5) h1 := oItems:InsertItem(h,,"Task 3") oItems:AddBar(h1,"TaskS","06/22/2005 12:00:00","06/27/2005","E") oItems:SetProperty("ItemNonworkingUnits",h1,.F.,"weekday(value)=1 or weekday(value)=2") oItems:SetProperty("ItemNonworkingUnits",h1,.T.,"weekday(value)=1 or weekday(value)=2 or (hour(value)<8 or hour(value)>=16 )") oItems:DefineSummaryBars(h,"",h1,"E") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("Project 2") oItems:AddBar(h,"Summary","06/26/2005","07/06/2005") h1 := oItems:InsertItem(h,,"TaskS 1") oItems:AddBar(h1,"TaskS","06/26/2005","07/02/2005") oItems:DefineSummaryBars(h,"",h1,"") h1 := oItems:InsertItem(h,,"TaskS 2") oItems:AddBar(h1,"TaskS","06/28/2005","07/06/2005","E") oItems:DefineSummaryBars(h,"",h1,"E") oItems:SetProperty("ItemBar",h1,"E",21/*exBarEffort*/,5) h1 := oItems:InsertItem(h,,"TaskS 3") oItems:AddBar(h1,"TaskS","06/30/2005","07/02/2005","E") oItems:DefineSummaryBars(h,"",h1,"E") oItems:SetProperty("ExpandItem",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
869 |
I want to define/highlight for specified dates as being non-working. Is this possible
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems LOCAL c,h,p oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Items") oChart := oG2antt:Chart() oChart:SetProperty("NonworkingDaysColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oChart:SetProperty("PaneWidth",.F.,48) c := oChart:NonworkingDaysColor() p := oChart:NonworkingDaysPattern() oChart:FirstVisibleDate := "01/01/2001" oBar := oChart:Bars():Add("NW") oBar:SetProperty("Color",c) oBar:Pattern := p oBar:Height := -1 oBar:Shape := 17/*exShapeSolidFrameless*/ oItems := oG2antt:Items() h := oItems:AddItem("Item 1") oItems:AddBar(h,"NW","01/02/2001","01/03/2001","0") oItems:SetProperty("ItemBar",h,"0",29/*exBarSelectable*/,.F.) oItems:AddBar(h,"Task","01/02/2001","01/04/2001","K2") h := oItems:AddItem("Item 2") oItems:AddBar(h,"NW","01/02/2001","01/04/2001","0") oItems:SetProperty("ItemBar",h,"0",29/*exBarSelectable*/,.F.) oItems:AddBar(h,"Task","01/02/2001","01/05/2001","K2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
868 |
Do you have any sample how can I programmatically magnify a single date, so can show the hours, while the rest of the chart displays days
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oInsideZoomFormat LOCAL oItems LOCAL h,h1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:MarkSearchColumn := .F. oG2antt:ShowFocusRect := .F. oG2antt:Columns():Add("Tasks") oColumn := oG2antt:Columns():Add("C") oColumn:HeaderAlignment := 1/*CenterAlignment*/ oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn:PartialCheck := .T. oColumn:AllowSizing := .F. oColumn:Width := 18 oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,96) oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oChart:FirstVisibleDate := "06/20/2005" oChart:DrawLevelSeparator := 0/*exLevelNoLine*/ oChart:LevelCount := 3 oChart:Level(1):DrawGridLines := .F. oChart:AllowInsideZoom := .T. oChart:DrawDateTicker := .T. oChart:DateTickerLabel := "<%mmm%> <%d%><br><b><%hh%>:<%nn%></b>" oChart:SetProperty("MarkSelectDateColor",0x7ffff8ee) oInsideZoomFormat := oChart:DefaultInsideZoomFormat() oInsideZoomFormat:OwnerLabel := "<%mmm%> <%d%>" oInsideZoomFormat:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 238,248,255 } ) , .F. )) oInsideZoomFormat:SetProperty("BackColorChart",oInsideZoomFormat:BackColor()) oInsideZoomFormat:InsideCount := 4 oInsideZoomFormat:InsideLabel := "<b><%hh%></b>" oChart:InsideZooms():Add("06/22/2005") oChart:DrawGridLines := 2/*exVLines*/ oItems := oG2antt:Items() h := oItems:AddItem("Project 1") oItems:AddBar(h,"Summary","06/21/2005","07/01/2005") h1 := oItems:InsertItem(h,,"Task 1") oItems:AddBar(h1,"Task","06/21/2005","06/28/2005") oItems:SetProperty("CellMerge",h1,0,1) oItems:DefineSummaryBars(h,"",h1,"") h1 := oItems:InsertItem(h,,"Task 2") oItems:AddBar(h1,"Task","06/23/2005","07/01/2005","E") oItems:SetProperty("CellMerge",h1,0,1) oItems:DefineSummaryBars(h,"",h1,"E") oItems:SetProperty("ItemBar",h1,"E",21/*exBarEffort*/,5) h1 := oItems:InsertItem(h,,"Task 3") oItems:AddBar(h1,"Task","06/25/2005","06/27/2005","E") oItems:SetProperty("CellMerge",h1,0,1) oItems:DefineSummaryBars(h,"",h1,"E") oItems:SetProperty("ExpandItem",h,.T.) oItems:SetProperty("CellState",h,1,1) h := oItems:AddItem("Project 2") oItems:AddBar(h,"Summary","06/26/2005","07/06/2005") h1 := oItems:InsertItem(h,,"Task 1") oItems:AddBar(h1,"Task","06/26/2005","07/02/2005") oItems:SetProperty("CellMerge",h1,0,1) oItems:DefineSummaryBars(h,"",h1,"") h1 := oItems:InsertItem(h,,"Task 2") oItems:AddBar(h1,"Task","06/28/2005","07/06/2005","E") oItems:SetProperty("CellMerge",h1,0,1) oItems:DefineSummaryBars(h,"",h1,"E") oItems:SetProperty("ItemBar",h1,"E",21/*exBarEffort*/,5) h1 := oItems:InsertItem(h,,"Task 3") oItems:AddBar(h1,"Task","06/30/2005","07/02/2005","E") oItems:SetProperty("CellMerge",h1,0,1) oItems:DefineSummaryBars(h,"",h1,"E") oItems:SetProperty("ExpandItem",h,.T.) oItems:SetProperty("CellState",h,1,1) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
867 |
How can I define my own/custom labels and subdivisions
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel,oLevel1,oLevel2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:ToolTip := "" oChart:SetProperty("PaneWidth",.F.,0) oChart:SetProperty("ScrollRange",0/*exStartDate*/,0) oChart:SetProperty("ScrollRange",1/*exEndDate*/,110) oChart:FirstVisibleDate := 0 oChart:ShowNonworkingDates := .F. oChart:SetProperty("MarkTodayColor",oChart:BackColor()) oChart:LevelCount := 3 oLevel := oChart:Level(0) oLevel:ToolTip := "" oLevel:Alignment := 1/*CenterAlignment*/ oLevel:Unit := 4096/*exDay*/ oLevel:Count := 16 oLevel:FormatLabel := "'Group <b>'+int(1 +dvalue/16)" oLevel1 := oChart:Level(1) oLevel1:ToolTip := "" oLevel1:Alignment := 1/*CenterAlignment*/ oLevel1:Unit := 4096/*exDay*/ oLevel1:Count := 4 oLevel1:FormatLabel := " (abs(dvalue)/4) mod 4" oLevel1:SetProperty("ReplaceLabel","0","Sub-Group <b>1</b>") oLevel1:SetProperty("ReplaceLabel","1","Sub-Group <b>2</b>") oLevel1:SetProperty("ReplaceLabel","2","Sub-Group <b>3</b>") oLevel1:SetProperty("ReplaceLabel","3","Sub-Group <b>4</b>") oLevel2 := oChart:Level(2) oLevel2:ToolTip := "" oLevel2:Unit := 4096/*exDay*/ oLevel2:Count := 1 oLevel2:FormatLabel := "(abs(dvalue) mod 4)" oLevel2:SetProperty("ReplaceLabel","0","A") oLevel2:SetProperty("ReplaceLabel","1","B") oLevel2:SetProperty("ReplaceLabel","2","C") oLevel2:SetProperty("ReplaceLabel","3","D") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
866 |
I want to mark or highlight the last Friday of the month. Is there any option to do that
|
865 |
I use the SelectDate method but the dates are not being highligted. What can I do
|
864 |
Can I use ebn files to display the selected dates
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oAppearance LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oAppearance := oG2antt:VisualAppearance() oAppearance:Add(2,"c:\exontrol\images\normal.ebn") oAppearance:Add(1,"CP:2 0 -4 0 4") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2008" oChart:SetProperty("MarkTodayColor",oChart:BackColor()) oChart:LevelCount := 2 oChart:SetProperty("MarkSelectDateColor",0x1000000) oChart:SelectLevel := 1 oChart:SetProperty("SelectDate","01/03/2008",.T.) oChart:SetProperty("SelectDate","01/04/2008",.T.) oG2antt:Columns():Add("Default") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Item 1"),"Task","01/02/2008","01/06/2008") oItems:AddBar(oItems:AddItem("Item 2"),"Task","01/03/2008","01/07/2008") oItems:AddBar(oItems:AddItem("Item 3"),"Task","01/04/2008","01/08/2008") oItems:AddBar(oItems:AddItem("Item 4"),"Task","01/05/2008","01/09/2008") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
863 |
Can I use ebn files to display the selected dates
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2008" oChart:SetProperty("MarkTodayColor",oChart:BackColor()) oChart:LevelCount := 2 oChart:SetProperty("MarkSelectDateColor",0x1000000) oChart:SelectLevel := 1 oChart:SetProperty("SelectDate","01/03/2008",.T.) oG2antt:Columns():Add("Default") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Item 1"),"Task","01/02/2008","01/06/2008") oItems:AddBar(oItems:AddItem("Item 2"),"Task","01/03/2008","01/07/2008") oItems:AddBar(oItems:AddItem("Item 3"),"Task","01/04/2008","01/08/2008") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
862 |
How can I change the color for selected dates to be solid
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:FirstVisibleDate := "01/01/2008" oChart:SetProperty("MarkTodayColor",oChart:BackColor()) oChart:LevelCount := 2 oChart:SetProperty("MarkSelectDateColor",0x7fff0000) oChart:SelectLevel := 1 oChart:SetProperty("SelectDate","01/15/2008",.T.) oChart:SetProperty("SelectDate","01/16/2008",.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
861 |
How can I disable selecting dates when I click the chart's header
|
860 |
Is there any option to specify which dates can be magnified or resized
|
859 |
How can I change the width for a specified date time unit
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oInsideZoom LOCAL oInsideZooms oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2008" oChart:AllowInsideZoom := .T. oChart:AllowResizeInsideZoom := .F. oChart:InsideZoomOnDblClick := .F. oInsideZooms := oChart:InsideZooms() oInsideZoom := oInsideZooms:Add("01/04/2008") oInsideZoom:Width := 32 oInsideZoom:AllowInsideFormat := .F. oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
858 |
How can I disable the control's splitter so the user can't resize the list area
|
857 |
How can I disable the control's splitter so the user can't resize the chart area
|
856 |
How can I change the label for a specified unit
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oInsideZooms oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2008" oChart:AllowInsideZoom := .T. oChart:AllowResizeInsideZoom := .F. oChart:InsideZoomOnDblClick := .F. oChart:DefaultInsideZoomFormat():OwnerLabel := "<b><%d%></b> <%d2%>" oInsideZooms := oChart:InsideZooms() oInsideZooms:SplitBaseLevel := .F. oInsideZooms:DefaultWidth := 32 oInsideZooms:Add("01/04/2008"):AllowInsideFormat := .F. oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
855 |
How can I bold the inside units
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2008" oChart:AllowInsideZoom := .T. oChart:AllowResizeInsideZoom := .F. oChart:InsideZoomOnDblClick := .F. oChart:DefaultInsideZoomFormat():InsideLabel := "<b><%hh%></b>" oChart:InsideZooms():Add("01/04/2008") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
854 |
How can I change the scale unit when doing inside zoom ( the chart displays weeks, and we want week days )
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oInsideZoomFormat LOCAL oInsideZooms LOCAL oLevel,oLevel1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:ShowNonworkingDates := .F. oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oLevel := oChart:Level(0) oLevel:Label := "<%mmmm%>" oLevel:Unit := 16/*exMonth*/ oLevel1 := oChart:Level(1) oLevel1:Label := "<%ww%>" oLevel1:Unit := 256/*exWeek*/ oChart:FirstVisibleDate := "01/01/2008" oChart:AllowInsideZoom := .T. oInsideZoomFormat := oChart:DefaultInsideZoomFormat() oInsideZoomFormat:OwnerLabel := "<font ;7><%mmm%> Week: <%ww%>" oInsideZoomFormat:InsideLabel := "<font ;7><b><%d1%></b>" oInsideZoomFormat:InsideUnit := 4096/*exDay*/ oInsideZooms := oChart:InsideZooms() oInsideZooms:SplitBaseLevel := .F. oInsideZooms:Add("02/03/2008") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
853 |
How can I zoom or magnify the selected date to display the hours, from 8 to 8
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oInsideZoomFormat LOCAL oInsideZooms oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2008" oChart:AllowInsideZoom := .T. oInsideZoomFormat := oChart:DefaultInsideZoomFormat() oInsideZoomFormat:InsideLabel := "H: <b><%hh%></b>" oInsideZoomFormat:InsideUnit := 65536/*exHour*/ oInsideZoomFormat:InsideCount := 8 oInsideZooms := oChart:InsideZooms() oInsideZooms:Add("01/04/2008") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
852 |
How can I zoom or magnify the selected date to display the hours
|
851 |
How can I change the foreground color for a time unit
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oInsideZooms oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2008" oChart:AllowInsideZoom := .T. oChart:AllowResizeInsideZoom := .F. oChart:InsideZoomOnDblClick := .F. oChart:DefaultInsideZoomFormat():SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oInsideZooms := oChart:InsideZooms() oInsideZooms:SplitBaseLevel := .F. oInsideZooms:DefaultWidth := 18 oInsideZooms:Add("01/04/2008"):AllowInsideFormat := .F. oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
850 |
How can I change the background color for a time unit, in the chart area
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oInsideZooms oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2008" oChart:AllowInsideZoom := .T. oChart:AllowResizeInsideZoom := .F. oChart:InsideZoomOnDblClick := .F. oChart:DefaultInsideZoomFormat():SetProperty("BackColorChart",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oInsideZooms := oChart:InsideZooms() oInsideZooms:SplitBaseLevel := .F. oInsideZooms:DefaultWidth := 18 oInsideZooms:Add("01/04/2008"):AllowInsideFormat := .F. oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
849 |
How can I change the background color for a time unit, using EBN files
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oInsideZooms oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2008" oChart:AllowInsideZoom := .T. oChart:AllowResizeInsideZoom := .F. oChart:InsideZoomOnDblClick := .F. oChart:DefaultInsideZoomFormat():SetProperty("BackColor",0x1000000) oInsideZooms := oChart:InsideZooms() oInsideZooms:SplitBaseLevel := .F. oInsideZooms:DefaultWidth := 18 oInsideZooms:Add("01/04/2008"):AllowInsideFormat := .F. oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
848 |
How can I change the background color for a time unit
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oInsideZooms oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2008" oChart:AllowInsideZoom := .T. oChart:AllowResizeInsideZoom := .F. oChart:InsideZoomOnDblClick := .F. oChart:DefaultInsideZoomFormat():SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oInsideZooms := oChart:InsideZooms() oInsideZooms:SplitBaseLevel := .F. oInsideZooms:DefaultWidth := 18 oInsideZooms:Add("01/04/2008"):AllowInsideFormat := .F. oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
847 |
How can I display the column using currency format and enlarge the font for certain values
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oColumn := oG2antt:Columns():Add("Currency") oColumn:SetProperty("Def",17/*exCellValueFormat*/,1) oColumn:FormatColumn := "len(value) ? ((0:=dbl(value)) < 10 ? '<fgcolor=808080><font ;7>' : '<b>') + currency(=:0)" oItems := oG2antt:Items() oItems:AddItem("1.23") oItems:AddItem("2.34") oItems:AddItem("9.94") oItems:AddItem("11.94") oItems:AddItem("1000") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
846 |
How can I highlight only parts of the cells
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oColumn := oG2antt:Columns():Add("") oColumn:SetProperty("Def",17/*exCellValueFormat*/,1) oColumn:FormatColumn := "value replace 'hil' with '<fgcolor=FF0000><b>hil</b></fgcolor>'" oItems := oG2antt:Items() h := oItems:AddItem("Root") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:InsertItem(h,,"Child 3") oItems:SetProperty("ExpandItem",h,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
845 |
How can I get the number of occurrences of a specified string in the cell
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("") oColumn := oG2antt:Columns():Add("occurrences") oColumn:ComputedField := "lower(%0) count 'o'" oColumn:FormatColumn := "'contains ' + value + ' of \'o\' chars'" oItems := oG2antt:Items() h := oItems:AddItem("Root") oItems:InsertItem(h,,"Child 1 oooof the root") oItems:InsertItem(h,,"Child 2") oItems:InsertItem(h,,"Child 3") oItems:SetProperty("ExpandItem",h,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
844 |
How can I display dates in my format
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oColumn := oG2antt:Columns():Add("Date") oColumn:SetProperty("Def",17/*exCellValueFormat*/,1) oColumn:FormatColumn := "'<b>' + year(0:=date(value)) + '</b><fgcolor=808080><font ;6> (' + month(=:0) + ' - ' + day(=:0) +')'" oItems := oG2antt:Items() oItems:AddItem("01/21/2001") oItems:AddItem("02/22/2002") oItems:AddItem("03/13/2003") oItems:AddItem("04/24/2004") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
843 |
How can I display dates in short format
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Date"):FormatColumn := "shortdate(value)" oItems := oG2antt:Items() oItems:AddItem("01/01/2001") oItems:AddItem("02/02/2002") oItems:AddItem("03/03/2003") oItems:AddItem("04/04/2004") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
842 |
How can I display dates in long format
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Date"):FormatColumn := "longdate(value)" oItems := oG2antt:Items() oItems:AddItem("01/01/2001") oItems:AddItem("02/02/2002") oItems:AddItem("03/03/2003") oItems:AddItem("04/04/2004") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
841 |
How can I display only the right part of the cell
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("") oColumn := oG2antt:Columns():Add("Right") oColumn:ComputedField := "%0 right 2" oColumn:FormatColumn := "'" + CHR(34) + "' + value + '" + CHR(34) + "'" oItems := oG2antt:Items() h := oItems:AddItem("Root") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:InsertItem(h,,"SChild 3") oItems:SetProperty("ExpandItem",h,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
840 |
How can I display only the left part of the cell
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("") oG2antt:Columns():Add("Left"):ComputedField := "%0 left 2" oItems := oG2antt:Items() h := oItems:AddItem("Root") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:InsertItem(h,,"SChild 3") oItems:SetProperty("ExpandItem",h,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
839 |
How can I display true or false instead 0 and -1
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Boolean"):FormatColumn := "value != 0 ? 'true' : 'false'" oItems := oG2antt:Items() oItems:AddItem(.T.) oItems:AddItem(.F.) oItems:AddItem(.T.) oItems:AddItem(0) oItems:AddItem(1) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
838 |
Is there any option to print the columns section on each page
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oPrint LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oG2antt:Chart():LevelCount := 2 oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","02/05/2001","02/07/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",6/*exLinkStartPos*/,0) oG2antt:EndUpdate() oPrint := CreateObject("Exontrol.Print") oPrint:Options := "ColumnsOnEveryPage=1" oPrint:PrintExt := oG2antt oPrint:Preview() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
837 |
How do I print the control's content
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oPrint LOCAL oItems LOCAL h1,h2 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Task") oG2antt:Chart():FirstVisibleDate := "01/01/2001" oItems := oG2antt:Items() h1 := oItems:AddItem("Task 1") oItems:AddBar(h1,"Task","01/02/2001","01/04/2001","K1") h2 := oItems:AddItem("Task 2") oItems:AddBar(h2,"Task","01/05/2001","01/07/2001","K2") oItems:AddLink("L1",h1,"K1",h2,"K2") oItems:SetProperty("Link","L1",6/*exLinkStartPos*/,0) oG2antt:EndUpdate() oPrint := CreateObject("Exontrol.Print") oPrint:PrintExt := oG2antt oPrint:Preview() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
836 |
How can I display icons or images instead numbers
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oG2antt:Columns():Add("Icons") oColumn:SetProperty("Def",17/*exCellValueFormat*/,1) oColumn:FormatColumn := "'The cell displays the icon <img>'+value+'</img> instead ' + value" oItems := oG2antt:Items() oItems:AddItem(1) oItems:AddItem(2) oItems:AddItem(3) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
835 |
How can I display the column using currency
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Currency"):FormatColumn := "currency(dbl(value))" oItems := oG2antt:Items() oItems:AddItem("1.23") oItems:AddItem("2.34") oItems:AddItem("0") oItems:AddItem(5) oItems:AddItem("10000.99") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
834 |
How can I display the currency only for not empty cells
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Number") oG2antt:Columns():Add("Currency"):ComputedField := "len(%0) ? currency(dbl(%0)) : ''" oItems := oG2antt:Items() oItems:AddItem("1.23") oItems:AddItem("2.34") oItems:AddItem("0") oItems:SetProperty("ItemBackColor",oItems:AddItem(),AutomationTranslateColor( GraMakeRGBColor ( { 255,128,128 } ) , .F. )) oItems:AddItem("10000.99") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
833 |
Is there a function to display the number of days between two date including the number of hours
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Start"):Width := 32 oG2antt:Columns():Add("End") oG2antt:Columns():Add("Duration"):ComputedField := "((1:=int(0:= (date(%1)-date(%0)))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s) ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')" oItems := oG2antt:Items() h := oItems:AddItem("01/11/2001") oItems:SetProperty("CellValue",h,1,"01/14/2001") h := oItems:AddItem("02/22/2002 12:00:00") oItems:SetProperty("CellValue",h,1,"03/14/2002 13:00:00") h := oItems:AddItem("03/13/2003") oItems:SetProperty("CellValue",h,1,"04/11/2003 11:00:00") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
832 |
Is there a function to display the number of days between two date including the number of hours
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Start") oG2antt:Columns():Add("End") oG2antt:Columns():Add("Duration"):ComputedField := "" + CHR(34) + "D " + CHR(34) + " + int(date(%1)-date(%0)) + " + CHR(34) + " H " + CHR(34) + " + round(24*(date(%1)-date(%0) - floor(date(%1)-date(%0))))" oItems := oG2antt:Items() h := oItems:AddItem("01/11/2001") oItems:SetProperty("CellValue",h,1,"01/14/2001 23:00:00") h := oItems:AddItem("02/22/2002 12:00:00") oItems:SetProperty("CellValue",h,1,"03/14/2002 13:00:00") h := oItems:AddItem("03/13/2003") oItems:SetProperty("CellValue",h,1,"04/11/2003 11:00:00") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
831 |
How can I display the number of days between two dates
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Start") oG2antt:Columns():Add("End") oG2antt:Columns():Add("Duration"):ComputedField := "(date(%1)-date(%0)) + ' days'" oItems := oG2antt:Items() h := oItems:AddItem("01/11/2001") oItems:SetProperty("CellValue",h,1,"01/14/2001") h := oItems:AddItem("02/22/2002") oItems:SetProperty("CellValue",h,1,"03/14/2002") h := oItems:AddItem("03/13/2003") oItems:SetProperty("CellValue",h,1,"04/11/2003") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
830 |
How can I get second part of the date
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Date") oG2antt:Columns():Add("Second"):ComputedField := "sec(date(%0))" oItems := oG2antt:Items() oItems:AddItem("01/11/2001 10:10:00") oItems:AddItem("02/22/2002 11:01:22") oItems:AddItem("03/13/2003 12:23:01") oItems:AddItem("04/14/2004 13:11:59") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
829 |
How can I get minute part of the date
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Date") oG2antt:Columns():Add("Minute"):ComputedField := "min(date(%0))" oItems := oG2antt:Items() oItems:AddItem("01/11/2001 10:10:00") oItems:AddItem("02/22/2002 11:01:00") oItems:AddItem("03/13/2003 12:23:00") oItems:AddItem("04/14/2004 13:11:00") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
828 |
How can I check the hour part only so I know it was afternoon
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:ConditionalFormats():Add("hour(%0)>=12"):Bold := .T. oG2antt:Columns():Add("Date") oG2antt:Columns():Add("Hour"):ComputedField := "hour(%0)" oItems := oG2antt:Items() oItems:AddItem("01/11/2001 10:00:00") oItems:AddItem("02/22/2002 11:00:00") oItems:AddItem("03/13/2003 12:00:00") oItems:AddItem("04/14/2004 13:00:00") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
827 |
What about a function to get the day in the week, or days since Sunday
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Date") oG2antt:Columns():Add("WeekDay"):ComputedField := "weekday(%0)" oItems := oG2antt:Items() oItems:AddItem("01/11/2001 10:00:00") oItems:AddItem("02/22/2002 11:00:00") oItems:AddItem("03/13/2003 12:00:00") oItems:AddItem("04/14/2004 13:00:00") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
826 |
Is there any function to get the day of the year or number of days since January 1st
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Date") oG2antt:Columns():Add("Day since January 1st"):ComputedField := "yearday(%0)" oItems := oG2antt:Items() oItems:AddItem("01/11/2001 10:00:00") oItems:AddItem("02/22/2002 11:00:00") oItems:AddItem("03/13/2003 12:00:00") oItems:AddItem("04/14/2004 13:00:00") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
825 |
How can I display only the day of the date
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Date") oG2antt:Columns():Add("Day"):ComputedField := "day(%0)" oItems := oG2antt:Items() oItems:AddItem("01/11/2001 10:00:00") oItems:AddItem("02/22/2002 11:00:00") oItems:AddItem("03/13/2003 12:00:00") oItems:AddItem("04/14/2004 13:00:00") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
824 |
How can I display only the month of the date
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Date") oG2antt:Columns():Add("Month"):ComputedField := "month(%0)" oItems := oG2antt:Items() oItems:AddItem("01/01/2001 10:00:00") oItems:AddItem("02/02/2002 11:00:00") oItems:AddItem("03/03/2003 12:00:00") oItems:AddItem("04/04/2004 13:00:00") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
823 |
How can I get only the year part from a date expression
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Date") oG2antt:Columns():Add("Year"):ComputedField := "year(%0)" oItems := oG2antt:Items() oItems:AddItem("01/01/2001 10:00:00") oItems:AddItem("02/02/2002 11:00:00") oItems:AddItem("03/03/2003 12:00:00") oItems:AddItem("04/04/2004 13:00:00") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
822 |
Can I convert the expression to date
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Number") oG2antt:Columns():Add("Date"):ComputedField := "date(dbl(%0))" oItems := oG2antt:Items() oItems:AddItem("-1.98") oItems:AddItem("30000.99") oItems:AddItem("3561.23") oItems:AddItem("1232.34") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
821 |
Can I convert the expression to a number, double or float
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Number") oG2antt:Columns():Add("Number + 2"):ComputedField := "dbl(%0)+2" oItems := oG2antt:Items() oItems:AddItem("-1.98") oItems:AddItem("0.99") oItems:AddItem("1.23") oItems:AddItem("2.34") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
820 |
How can I display dates in long format
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Date") oG2antt:Columns():Add("LongFormat"):ComputedField := "longdate(%0)" oItems := oG2antt:Items() oItems:AddItem("01/01/2001 10:00:00") oItems:AddItem("02/02/2002 11:00:00") oItems:AddItem("03/03/2003 12:00:00") oItems:AddItem("04/04/2004 13:00:00") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
819 |
How can I display dates in short format
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Date") oG2antt:Columns():Add("ShortFormat"):ComputedField := "shortdate(%0)" oItems := oG2antt:Items() oItems:AddItem("01/01/2001 10:00:00") oItems:AddItem("02/02/2002 11:00:00") oItems:AddItem("03/03/2003 12:00:00") oItems:AddItem("04/04/2004 13:00:00") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
818 |
How can I display the time only of a date expression
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Date") oG2antt:Columns():Add("Time"):ComputedField := "'time is:' + time(date(%0))" oItems := oG2antt:Items() oItems:AddItem("01/01/2001 10:00:00") oItems:AddItem("02/02/2002 11:00:00") oItems:AddItem("03/03/2003 12:00:00") oItems:AddItem("04/04/2004 13:00:00") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
817 |
Is there any function to display currencies, or money formatted as in the control panel
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Number") oG2antt:Columns():Add("Currency"):ComputedField := "currency(dbl(%0))" oItems := oG2antt:Items() oItems:AddItem(1.23) oItems:AddItem(2.34) oItems:AddItem(10000.99) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
816 |
How can I convert the expression to a string so I can look into the date string expression for month's name
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Number") oG2antt:Columns():Add("Str"):ComputedField := "str(%0) + ' AA'" oItems := oG2antt:Items() oItems:AddItem("-1.98") oItems:AddItem("0.99") oItems:AddItem("1.23") oItems:AddItem("2.34") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
815 |
Can I display the absolute value or positive part of the number
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Number") oG2antt:Columns():Add("Abs"):ComputedField := "abs(%0)" oItems := oG2antt:Items() oItems:AddItem("-1.98") oItems:AddItem("0.99") oItems:AddItem("1.23") oItems:AddItem("2.34") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
814 |
Is there any function to get largest number with no fraction part that is not greater than the value
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Number") oG2antt:Columns():Add("Floor"):ComputedField := "floor(%0)" oItems := oG2antt:Items() oItems:AddItem("-1.98") oItems:AddItem("0.99") oItems:AddItem("1.23") oItems:AddItem("2.34") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
813 |
Is there any function to round the values base on the .5 value
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Number") oG2antt:Columns():Add("Round"):ComputedField := "round(%0)" oItems := oG2antt:Items() oItems:AddItem("-1.98") oItems:AddItem("0.99") oItems:AddItem("1.23") oItems:AddItem("2.34") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
812 |
How can I get or display the integer part of the cell
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add("Number") oG2antt:Columns():Add("Int"):ComputedField := "int(%0)" oItems := oG2antt:Items() oItems:AddItem("-1.98") oItems:AddItem("0.99") oItems:AddItem("1.23") oItems:AddItem("2.34") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
811 |
How can I display names as proper ( first leter of the word must be in uppercase, and the rest in lowercase )
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add(""):FormatColumn := "proper(%0)" oItems := oG2antt:Items() h := oItems:AddItem("root") oItems:InsertItem(h,,"child child") oItems:InsertItem(h,,"child child") oItems:InsertItem(h,,"child child") oItems:SetProperty("ExpandItem",h,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
810 |
Is there any option to display cells in uppercase
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add(""):FormatColumn := "upper(%0)" oItems := oG2antt:Items() h := oItems:AddItem("Root") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:InsertItem(h,,"Chld 3") oItems:SetProperty("ExpandItem",h,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
809 |
Is there any option to display cells in lowercase
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:Columns():Add(""):FormatColumn := "lower(%0)" oItems := oG2antt:Items() h := oItems:AddItem("Root") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:InsertItem(h,,"Chld 3") oItems:SetProperty("ExpandItem",h,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
808 |
How can I mark the cells that has a specified type, ie strings only
|
807 |
How can I bold the items that contains data or those who displays empty strings
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h,hC oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:ConditionalFormats():Add("not len(%1)=0"):Bold := .T. oG2antt:Columns():Add("C1") oG2antt:Columns():Add("C2") oItems := oG2antt:Items() h := oItems:AddItem("Root") oItems:InsertItem(h,,"Child 1") hC := oItems:InsertItem(h,,"Child 2") oItems:SetProperty("CellValue",hC,1,"1") oItems:InsertItem(h,,"Child 3") oItems:SetProperty("ExpandItem",h,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
806 |
Can I change the background color for items or cells that contains a specified string
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:ConditionalFormats():Add("%0 contains 'hi'"):SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oG2antt:Columns():Add("") oItems := oG2antt:Items() h := oItems:AddItem("Root") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:InsertItem(h,,"Chld 3") oItems:SetProperty("ExpandItem",h,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
805 |
Is there any option to change the fore color for cells or items that ends with a specified string
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:ConditionalFormats():Add("%0 endwith '22'"):SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oG2antt:Columns():Add("") oItems := oG2antt:Items() h := oItems:AddItem("Root") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 1.22") oItems:InsertItem(h,,"Child 2.22") oItems:SetProperty("ExpandItem",h,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
804 |
How can I highlight the cells or items that starts with a specified string
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:ConditionalFormats():Add("%0 startwith 'C'"):Underline := .T. oG2antt:Columns():Add("") oItems := oG2antt:Items() h := oItems:AddItem("Root") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:InsertItem(h,,"SChild 3") oItems:SetProperty("ExpandItem",h,.T.) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
803 |
How can I change the background color or the visual appearance using ebn for a particular column
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn") oColumns := oG2antt:Columns() oColumns:Add("Column 1") oColumns:Add("Column 2"):SetProperty("Def",7/*exHeaderBackColor*/,16777216) oColumns:Add("Column 3"):SetProperty("Def",7/*exHeaderBackColor*/,16777471) oColumns:Add("Column 4") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
802 |
How can I change the foreground color for a particular column
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oColumns := oG2antt:Columns() oColumns:Add("Column 1") oColumns:Add("Column 2"):SetProperty("Def",8/*exHeaderForeColor*/,8439039) oColumns:Add("Column 3") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
801 |
How can I change the background color for a particular column
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oColumns := oG2antt:Columns() oColumns:Add("Column 1") oColumns:Add("Column 2"):SetProperty("Def",7/*exHeaderBackColor*/,8439039) oColumns:Add("Column 3") oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |